home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Visual Database / Visual dBase v5.5 / SAMPINC.PAK / WINAPI.H < prev   
C/C++ Source or Header  |  1995-07-18  |  52KB  |  1,361 lines

  1. *******************************************************************************
  2. *  FILE:         Winapi.h
  3. *
  4. *  WRITTEN BY:   Borland Samples Group
  5. *
  6. *  DATE:         7/15/93
  7. *
  8. *  UPDATED:      7/95
  9. *
  10. *  REVISION:     $Revision:   2.31  $
  11. *
  12. *  VERSION:      Visual dBASE
  13. *
  14. *  DESCRIPTION:  This file contains Windows API function declarations
  15. *                for calls to the Windows API from Visual dBASE.
  16. *
  17. *  USAGE:        (in a file)
  18. *                #include <Winapi.h>
  19. *
  20. *******************************************************************************
  21.  
  22. #ifndef WINAPI_H
  23. #define WINAPI_H
  24.  
  25. #define FALSE       0
  26. #define TRUE        1
  27. #define CBYTE       CWORD    && because a minimum of a CWORD is read anyway
  28. #define RGB(r,g,b)  (r + g*256 + b*65536)
  29.  
  30. *** Constants for pixel screen dimensions
  31.  
  32. #define PIXELROWS     GetSystemMetrics(1)    && Screen Rows in pixels
  33. #define PIXELCOLS     GetSystemMetrics(0)    && Screen Columns in pixels
  34.  
  35.  
  36. *** External Function Declarations
  37.  
  38. ***************** Drawing and Windowing functions
  39.  
  40. extern  CLOGICAL  AnyPopup ( CVOID ) USER
  41. extern  CLOGICAL  Arc ( CHANDLE,CINT,CINT,CINT,CINT,CINT,CINT,CINT,CINT )  GDI
  42. extern  CINT      ArrangeIconicWindows ( CHANDLE ) USER
  43. extern  CLOGICAL  BitBlt ( CHANDLE,CINT,CINT,CINT,CINT,CHANDLE,CINT,CINT,CLONG )  GDI
  44. extern  CVOID     BringWindowToTop ( CHANDLE ) USER
  45. extern  CWORD     CascadeChildWindows ( CWORD,CWORD ) USER
  46. extern  CLOGICAL  Chord ( CHANDLE,CINT,CINT,CINT,CINT,CINT,CINT,CINT,CINT )  GDI
  47. extern  CVOID     ClipCursor (CPTR) USER
  48. extern  CVOID     CloseWindow ( CHANDLE ) USER
  49. extern  CINT      CombineRgn ( CHANDLE,CHANDLE,CHANDLE,CINT )  GDI
  50. extern  CHANDLE   CopyCursor ( CHANDLE,CHANDLE )  USER
  51. extern  CHANDLE   CreateCompatibleDC ( CHANDLE ) GDI
  52. extern  CHANDLE   CreateCursor ( CHANDLE,CINT,CINT,CINT,CINT,CSTRING,CSTRING) USER
  53. extern  CHANDLE   CreateDc ( CSTRING,CSTRING,CSTRING,CPTR) GDI
  54. extern  CHANDLE   CreateEllipticRgn ( CINT,CINT,CINT,CINT )  GDI
  55. extern  CHANDLE   CreateHatchBrush ( CINT,CLONG )  GDI
  56. extern  CHANDLE   CreatePatternBrush ( CHANDLE )  GDI
  57. extern  CHANDLE   CreatePen ( CINT,CINT,CLONG)  GDI
  58. extern  CHANDLE   CreateRectRgn ( CINT,CINT,CINT,CINT )  GDI
  59. extern  CHANDLE   CreateRoundRectRgn ( CINT,CINT,CINT,CINT,CINT,CINT )  GDI
  60. extern  CHANDLE   CreateSolidBrush ( CLONG )  GDI
  61. extern  CHANDLE   CreateWindow ( CSTRING,CSTRING,CLONG,CINT,CINT,CINT,CINT,;
  62.                                     CHANDLE,CHANDLE,CHANDLE,CLONG ) USER
  63. extern  CLOGICAL  DeleteDc ( CHANDLE )  GDI
  64. extern  CLOGICAL  DeleteObject ( CHANDLE )  GDI
  65. extern  CLOGICAL  DestroyCursor ( CHANDLE )  USER
  66. extern  CLOGICAL  DestroyIcon ( CHANDLE )  USER
  67. extern  CLOGICAL  DestroyWindow ( CHANDLE ) USER
  68. extern  CLOGICAL  DrawIcon ( CHANDLE,CINT,CINT,CHANDLE )  USER
  69. extern  CINT      DrawText ( CHANDLE,CSTRING,CINT,CPTR,CINT )  USER
  70. extern  CHANDLE   Ellipse ( CHANDLE,CINT,CINT,CINT,CINT )  GDI
  71. extern  CLOGICAL  EqualRgn ( CHANDLE,CHANDLE )  GDI
  72. extern  CINT      Escape ( CHANDLE,CINT,CINT,CSTRING,CPTR )  GDI
  73. extern  CINT      ExcludeClipRect ( CHANDLE,CINT,CINT,CINT,CINT )  GDI
  74. extern  CINT      ExcludeUpdateRgn ( CHANDLE,CHANDLE )  USER
  75. extern  CLOGICAL  ExtFloodFill ( CHANDLE,CINT,CINT,CLONG,CINT )  GDI
  76. extern  CLOGICAL  FillRgn ( CHANDLE,CHANDLE,CHANDLE )  GDI
  77. extern  CHANDLE   FindWindow ( CSTRING,CSTRING ) USER
  78. extern  CLOGICAL  FlashWindow ( CHANDLE,CLOGICAL )  USER
  79. extern  CLOGICAL  FloodFill ( CHANDLE,CINT,CINT,CLONG )  GDI
  80. extern  CLOGICAL  FrameRgn ( CHANDLE,CHANDLE,CHANDLE,CINT,CINT )  GDI
  81. extern  CHANDLE   GetActiveWindow (CVOID) USER
  82. extern  CDOUBLE   GetBitmapDIMENSION ( CHANDLE )  GDI
  83. extern  CLONG     GetBkColor ( CHANDLE )  GDI
  84. extern  CINT      GetBkMode ( CHANDLE )  GDI
  85. extern  CLONG     GetBrushORG ( CHANDLE )  GDI
  86. extern  CLOGICAL  GetCharWidth ( CHANDLE,CINT,CINT,CSTRING )  GDI
  87. extern  CVOID     GetClientRect ( CHANDLE,CPTR ) USER
  88. extern  CDOUBLE   GetCurrentPosition ( CHANDLE )  GDI
  89. extern  CHANDLE   GetCursor ( CVOID )  USER
  90. extern  CVOID     GetCursorPos ( CPTR )  USER
  91. extern  CHANDLE   GetDc ( CHANDLE )  USER
  92. extern  CLONG     GetDcOrg ( CHANDLE )  GDI
  93. extern  CHANDLE   BeginPaint ( CHANDLE, CPTR ) USER
  94. extern  CVOID     EndPaint ( CPTR ) USER
  95. extern  CHANDLE   GetDeskTopWindow ( CVOID )  USER
  96. extern  CLONG     GetDialogBaseUnits ( CVOID ) USER
  97. extern  CHANDLE   GetFocus ( CVOID )  USER
  98. extern  CHANDLE   GetNextWindow ( CHANDLE,CINT )  USER
  99. extern  CHANDLE   GetParent ( CHANDLE )  USER
  100. extern  CLONG     GetPixel ( CHANDLE,CINT,CINT )  GDI
  101. extern  CINT      GetPolyFillMode ( CHANDLE )  GDI
  102. extern  CHANDLE   GetStockObject ( CINT )  GDI
  103. extern  CINT      GetStretchBltMode ( CHANDLE )  GDI
  104. extern  CLONG     GetSysColor ( CINT )  USER
  105. extern  CHANDLE   GetSysModalWindow ( CVOID )  USER
  106. extern  CINT      GetSystemPaletteEntries ( CHANDLE,CINT,CINT,CPTR )  GDI
  107. extern  CINT      GetSystemPaletteUse ( CHANDLE )  GDI
  108. extern  CLONG     GetTabbedTextExtent ( CHANDLE,CSTRING,CINT,CINT,CPTR )  USER
  109. extern  CINT      GetTextAlign ( CHANDLE )  GDI
  110. extern  CINT      GetTextCharacterExtra ( CHANDLE )  GDI
  111. extern  CLONG     GetTextColor ( CHANDLE )  GDI
  112. extern  CLONG     GetTextExtent ( CHANDLE,CSTRING,CINT )  GDI
  113. extern  CLOGICAL  GetTextExtentPoint ( CHANDLE,CSTRING,CINT,CPTR )  GDI
  114. extern  CINT      GetTextFace ( CHANDLE,CINT,CSTRING )  GDI
  115. extern  CLOGICAL  GetTextMetrics ( CHANDLE,CPTR )  GDI
  116. extern  CHANDLE   GetTopWindow ( CHANDLE )  USER
  117. extern  CINT      GetUpdateRgn ( CHANDLE,CHANDLE,CLOGICAL )  USER
  118. extern  CHANDLE   GetWindow ( CHANDLE,CINT )  USER
  119. extern  CHANDLE   GetWindowDc ( CHANDLE )  USER
  120. extern  CLONG     GetWindowExt ( CHANDLE )  GDI
  121. extern  CLONG     GetWindowOrg ( CHANDLE )  GDI
  122. extern  CVOID     GetWindowRect ( CHANDLE,CPTR ) USER
  123. extern  CHANDLE   GetWindowTask( CHANDLE ) USER
  124. extern  CINT      GetWindowText ( CHANDLE,CSTRING,CINT ) USER
  125. extern  CINT      GetWindowTextLength ( CHANDLE ) USER
  126. extern  CINT      IntersectClipRect ( CHANDLE,CINT,CINT,CINT,CINT )  GDI
  127. extern  CVOID     InvalidateRect ( CHANDLE,CPTR,CLOGICAL ) USER
  128. extern  CVOID     InvalidateRgn ( CHANDLE,CHANDLE,CLOGICAL )  USER
  129. extern  CLOGICAL  InvertRgn ( CHANDLE,CHANDLE )  GDI
  130. extern  CLOGICAL  IsChild ( CHANDLE,CHANDLE )  USER
  131. extern  CLOGICAL  IsIconIC ( CHANDLE )  USER
  132. extern  CLOGICAL  IsWindowVisible ( CHANDLE ) USER
  133. extern  CLOGICAL  LineTo ( CHANDLE,CINT,CINT )  GDI
  134. extern  CHANDLE   LoadBitmap ( CHANDLE,CSTRING )  USER
  135. extern  CHANDLE   LoadCursor ( CSTRING,CHANDLE )  USER
  136. extern  CHANDLE   LoadIcon ( CHANDLE,CSTRING )  USER
  137. extern  CVOID     MessageBeep ( CINT )  USER
  138. extern  CINT      MessageBox ( CHANDLE,CSTRING,CSTRING,CINT )  USER
  139. extern  CLONG     MoveTo ( CHANDLE,CINT,CINT )  GDI
  140. extern  CLOGICAL  MoveWindow ( CHANDLE, CINT, CINT, CINT, CINT,CLOGICAL ) USER
  141. extern  CHANDLE   OffsetClipRgn ( CHANDLE,CINT,CINT )  GDI
  142. extern  CINT      OffsetRgn ( CHANDLE,CINT,CINT )  GDI
  143. extern  CLONG     OffSetWindowOrg ( CHANDLE,CINT,CINT )  GDI
  144. extern  CLOGICAL  OpenIcon ( CHANDLE )  USER
  145. extern  CLOGICAL  PaintRgn ( CHANDLE,CHANDLE )  GDI
  146. extern  CLOGICAL  PatBlt ( CHANDLE,CINT,CINT,CINT,CINT,CLONG )  GDI
  147. extern  CLOGICAL  Pie ( CHANDLE,CINT,CINT,CINT,CINT,CINT,CINT,CINT,CINT )  GDI
  148. extern  CLOGICAL  PtInRegion ( CHANDLE,CINT,CINT )  GDI
  149. extern  CLOGICAL  PtVisible ( CHANDLE,CINT,CINT )  GDI
  150. extern  CLOGICAL  Rectangle ( CHANDLE,CINT,CINT,CINT,CINT )  GDI
  151. extern  CVOID     ReleaseCapture ( CVOID )  USER
  152. extern  CINT      ReleaseDc ( CHANDLE,CHANDLE )  USER
  153. extern  CLOGICAL  RestoreDc ( CHANDLE,CINT ) GDI
  154. extern  CLOGICAL  RoundRect ( CHANDLE,CINT,CINT,CINT,CINT,CINT,CINT )  GDI
  155. extern  CINT      SaveDc ( CHANDLE ) GDI
  156. extern  CVOID     ScreenToClient ( CHANDLE,CPTR) USER
  157. extern  CINT      SelectClipRgn ( CHANDLE,CHANDLE )  GDI
  158. extern  CHANDLE   SelectObject ( CHANDLE,CHANDLE )  GDI
  159. extern  CHANDLE   SetActiveWindow(CHANDLE) USER
  160. extern  CLONG     SetBitmapDimension ( CHANDLE,CINT,CINT )  GDI
  161. extern  CLONG     SetBkColor ( CHANDLE,CLONG )  GDI
  162. extern  CINT      SetBkMode ( CHANDLE,CINT )  GDI
  163. extern  CLONG     SetBrushOrg ( CHANDLE,CINT,CINT )  GDI
  164. extern  CHANDLE   SetCapture ( CHANDLE )  USER
  165. extern  CWORD     SetClassWord (CHANDLE, CINT, CWORD) USER
  166. extern  CHANDLE   SetCursor ( CHANDLE )  USER
  167. extern  CVOID     SetCursorPos ( CINT,CINT )  USER
  168. extern  CHANDLE   SetFocus ( CHANDLE ) USER
  169. extern  CHANDLE   SetParent ( CHANDLE,CHANDLE )  USER
  170. extern  CLONG     SetPixel ( CHANDLE,CINT,CINT,CLONG )  GDI
  171. extern  CINT      SetPolyFillMode ( CHANDLE,CINT )  GDI
  172. extern  CVOID     SetRectRgn ( CHANDLE,CINT,CINT,CINT,CINT )  GDI
  173. extern  CINT      SetStretchBltMode ( CHANDLE,CINT )  GDI
  174. extern  CHANDLE   SetSysModalWindow ( CHANDLE )  USER
  175. extern  CINT      SetTextAlign ( CHANDLE,CINT ) GDI
  176. extern  CLONG     SetTextColor ( CHANDLE,CLONG ) GDI
  177. extern  CLONG     SetWindowOrg ( CHANDLE,CINT,CINT ) GDI
  178. extern  CWORD     SetWindowPos ( CHANDLE,CHANDLE,CINT,CINT,CINT,CINT,CINT ) USER
  179. extern  CVOID     SetWindowText ( CHANDLE,CSTRING ) USER
  180. extern  CINT      ShowCursor ( CLOGICAL )  USER
  181. extern  CVOID     ShowScrollBar ( CHANDLE,CINT,CLOGICAL ) USER
  182. extern  CLOGICAL  ShowWindow ( CHANDLE,CINT ) USER
  183. extern  CLOGICAL  StretchBlt ( CHANDLE,CINT,CINT,CINT,CINT,CHANDLE,CINT,CINT,CINT,CINT,CLONG )  GDI
  184. extern  CWORD     TileChildWindows ( CWORD,CWORD ) USER
  185. extern  CVOID     UpdateWindow ( CHANDLE )  USER
  186. extern  CVOID     ValidateRgn ( CHANDLE,CHANDLE )  USER
  187.  
  188.  
  189. *** Constant Graphing and Windowing Function Parameters
  190. *******************************************************************************
  191.  
  192.  
  193. ********************** BitBlt() Raster Operation Types ************************
  194.  
  195. #define BLACKNESS           htoi("00000042")  &&* Turns all output black
  196. #define DSTINVERT           htoi("00550009")  &&* Inverts destination
  197.                                               &&  bitmap
  198. #define MERGECOPY           htoi("00C000CA")  &&* Combines pattern and source
  199.                                               &&  bitmap using Boolean AND
  200. #define MERGEPAINT          htoi("00BB0226")  &&* Combines inverted source
  201.                                               &&  with destination using
  202.                                               &&  Boolean OR
  203. #define NOTSRCCOPY          htoi("00330008")  &&* Copies inverted source
  204.                                               &&  to destination
  205. #define NOTSRCERASE         htoi("001100A6")  &&* Inverts result of combining
  206.                                               &&  destination and source
  207.                                               &&  bitmaps using Boolean OR
  208. #define PATCOPY             htoi("00F00021")  &&* Copies pattern to
  209.                                               &&  destination bitmap
  210. #define PATINVERT           htoi("005A0049")  &&* Combines destination
  211.                                               &&  bitmap with pattern using
  212.                                               &&  Boolean XOR
  213. #define PATPAINT            htoi("00FB0A09")  &&* Combines inverted source
  214.                                               &&  with pattern using Boolean
  215.                                               &&  OR.  Combines result of this
  216.                                               &&  operation with destination
  217.                                               &&  using Boolean OR.
  218. #define SRCAND              htoi("008800C6")  &&* Combines pixels of
  219.                                               &&  destination and source
  220.                                               &&  bitmaps using Boolean AND
  221. #define SRCCOPY             htoi("00CC0020")  &&* Copies source bitmap to
  222.                                               &&  destination bitmap
  223. #define SRCERASE            htoi("00440328")  &&* Inverts destination bitmap
  224.                                               &&  and combines result with
  225.                                               &&  source bitmap using Boolean
  226.                                               &&  AND
  227. #define SRCINVERT           htoi("00660046")  &&* Combines pixels of
  228.                                               &&  destination and source
  229.                                               &&  bitmaps using Boolean XOR
  230. #define SRCPAINT            htoi("00EE0086")  &&* Combines pixels of
  231.                                               &&  destination and source
  232.                                               &&  bitmaps using Boolean OR
  233. #define WHITENESS           htoi("00FF0062")  &&* Turns all output white
  234.  
  235.  
  236. ************************* CombineRgn() command values *************************
  237.  
  238. #define RGN_AND             1
  239. #define RGN_OR              2
  240. #define RGN_XOR             3
  241. #define RGN_DIFF            4
  242. #define RGN_COPY            5
  243.  
  244. ************************* CreateHatchBrush() hatch styles *********************
  245.  
  246. #define HS_BDIAGONAL        3
  247. #define HS_CROSS            4
  248. #define HS_DIAGCROSS        5
  249. #define HS_FDIAGONAL        2
  250. #define HS_HORIZONTAL       0
  251. #define HS_VERTICAL         1
  252.  
  253.  
  254. ****************************** CreatePen() pen styles *************************
  255.  
  256. #define PS_DASH             1
  257. #define PS_DASHDOT          3
  258. #define PS_DASHDOTDOT       4
  259. #define PS_DOT              2
  260. #define PS_INSIDEFRAME      6
  261. #define PS_NULL             5
  262. #define PS_SOLID            0
  263.  
  264.  
  265.  
  266. ************************* CreateWindow() window styles ************************
  267. *** These can be combined using Visual dBASE boolean functions
  268.  
  269. *** Clipping styles
  270.  
  271. #define WS_CLIPSIBLINGS      htoi("04000000")
  272. #define WS_CLIPCHILDREN      htoi("02000000")
  273.  
  274. #define WS_CHILD             htoi("40000000")
  275. #define WS_OVERLAPPED        htoi("00000000")
  276. #define WS_POPUP             htoi("80000000")
  277.  
  278.  
  279. *** Generic window states
  280. #define WS_DISABLED          htoi("08000000")
  281. #define WS_VISIBLE           htoi("10000000")
  282.  
  283. *** Main window states
  284. #define WS_MAXIMIZE          htoi("01000000")
  285. #define WS_MINIMIZE          htoi("20000000")
  286.  
  287. *** Main window styles
  288.  
  289. #define WS_BORDER            htoi("00800000")
  290. #define WS_CAPTION           htoi("00C00000")    && bitor(WS_BORDER,WS_DLGFRAME)
  291. #define WS_DLGFRAME          htoi("00400000")
  292. #define WS_HSCROLL           htoi("00100000")
  293. #define WS_MAXIMIZEBOX       htoi("00010000")
  294. #define WS_MINIMIZEBOX       htoi("00020000")
  295. #define WS_SYSMENU           htoi("00080000")
  296. #define WS_THICKFRAME        htoi("00040000")
  297. #define WS_VSCROLL           htoi("00200000")
  298.  
  299. *** Control window styles
  300.  
  301. #define WS_GROUP             htoi("00020000")
  302. #define WS_TABSTOP           htoi("00010000")
  303.  
  304. *** Common Window Styles
  305.  
  306. #define WS_CHILDWINDOW       WS_CHILD
  307. #define WS_OVERLAPPEDWINDOW  bitor(WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,;
  308.                                       WS_THICKFRAME,WS_MINIMIZEBOX,;
  309.                                       WS_MAXIMIZEBOX)
  310. #define WS_POPUPWINDOW       bitor(WS_POPUP,WS_BORDER,WS_SYSMENU)
  311.  
  312. *** Extended Window Styles
  313.  
  314. #define WS_EX_ACCEPTFILES    htoi("00000010")
  315. #define WS_EX_DLGMODALFRAME  htoi("00000001")
  316. #define WS_EX_NOPARENTNOTIFY htoi("00000004")
  317. #define WS_EX_TOPMOST        htoi("00000008")
  318. #define WS_EX_TRANSPARENT    htoi("00000020")
  319.  
  320. *** Obsolete style names
  321.  
  322. #define WS_ICONIC            WS_MINIMIZE
  323. #define WS_SIZEBOX           WS_THICKFRAME
  324. #define WS_TILED             WS_OVERLAPPED
  325. #define WS_TILEDWINDOW       WS_OVERLAPPEDWINDOW
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. ************************** DrawText() drawing flags ***************************
  334.  
  335. #define DT_TOP               0
  336. #define DT_LEFT              0
  337. #define DT_CENTER            1
  338. #define DT_RIGHT             2
  339. #define DT_VCENTER           4
  340. #define DT_BOTTOM            8
  341. #define DT_WORDBREAK         16
  342. #define DT_SINGLELINE        32
  343. #define DT_EXPANDTABS        64
  344. #define DT_TABSTOP           128
  345. #define DT_NOCLIP            256
  346. #define DT_EXTERNALLEADING   512
  347. #define DT_CALCRECT          1024
  348. #define DT_NOPREFIX          2048
  349. #define DT_INTERNAL          4096
  350.  
  351.  
  352. ************************* Escape() error codes ********************************
  353.  
  354. #define SP_ERROR            -1
  355. #define SP_APPABORT         -2
  356. #define SP_USERABORT        -3
  357. #define SP_OUTOFDISK        -4
  358. #define SP_OUTOFMEMORY      -5
  359.  
  360. ******************** GetClientRect() specifications ***************************
  361.  
  362. #define GCR_WIDTH            5       && Client area width
  363. #define GCR_HEIGHT           7       && Client area height
  364.  
  365.  
  366. ******************** GetDcEx() device context creation options ****************
  367.  
  368. #define DCX_CACHE            htoi("00000002")
  369. #define DCX_CLIPCHILDREN     htoi("00000008")
  370. #define DCX_CLIPSIBLINGS     htoi("00000010")
  371. #define DCX_EXCLUDERGN       htoi("00000040")
  372. #define DCX_INTERSECTRGN     htoi("00000080")
  373. #define DCX_LOCKWINDOWUPDATE htoi("00000400")
  374. #define DCX_PARENTCLIP       htoi("00000020")
  375. #define DCX_USESTYLE         htoi("00010000")
  376. #define DCX_WINDOW           htoi("00000001")
  377.  
  378. ************************ GetWindowRect() coordinate constants *****************
  379.  
  380. #define GWR_LEFT             1       && Window left in pixels
  381. #define GWR_TOP              3       && Window top in pixels
  382. #define GWR_RIGHT            5       && Window right in pixels
  383. #define GWR_BOT              7       && Window bottom in pixels
  384.  
  385. ************************ GetStockObject() stock object types ******************
  386.  
  387. #define BLACK_BRUSH          4
  388. #define DKGRAY_BRUSH         3
  389. #define GRAY_BRUSH           2
  390. #define HOLLOW_BRUSH         5
  391. #define LTGRAY_BRUSH         1
  392. #define NULL_BRUSH           5
  393. #define WHITE_BRUSH          0
  394.  
  395.  
  396. ************************** ExtFloodFill() style flags *************************
  397.  
  398. #define FLOODFILLBORDER      0
  399. #define FLOODFILLSURFACE     1
  400.  
  401.  
  402. ************************** GetBkMode() background modes ***********************
  403.  
  404. #define TRANSPARENT          1
  405. #define OPAQUE               2
  406.  
  407.  
  408. *********************** GetSysColor() display elements ************************
  409.  
  410. #define COLOR_ACTIVEBORDER        10
  411. #define COLOR_ACTIVECAPTION        2
  412. #define COLOR_APPWORKSPACE        12
  413. #define COLOR_BACKGROUND           1
  414. #define COLOR_BTNFACE             15
  415. #define COLOR_BTNSHADOW           16
  416. #define COLOR_BTNTEXT             18
  417. #define COLOR_CAPTIONTEXT          9
  418. #define COLOR_GRAYTEXT            17
  419. #define COLOR_HIGHLIGHT           13
  420. #define COLOR_HIGHLIGHTTEXT       14
  421. #define COLOR_INACTIVEBORDER      11
  422. #define COLOR_INACTIVECAPTION      3
  423. #define COLOR_MENU                 4
  424.  
  425.  
  426. #define COLOR_MENUTEXT             7
  427. #define COLOR_SCROLLBAR            0
  428. #define COLOR_WINDOW               5
  429. #define COLOR_WINDOWFRAME          6
  430. #define COLOR_WINDOWTEXT           8
  431. #define COLOR_INACTIVECAPTIONTEXT 19
  432. #define COLOR_BTNHIGHLIGHT        20
  433.  
  434.  
  435. *************************** GetWindow() relationship flags ********************
  436.  
  437. #define GW_CHILD            5
  438. #define GW_HWNDFIRST        0
  439. #define GW_HWNDLAST         1
  440. #define GW_HWNDNEXT         2
  441. #define GW_HWNDPREV         3
  442. #define GW_OWNER            4
  443.  
  444.  
  445.  
  446. ******************** LoadBitmap() predefined Windows bitmaps ******************
  447.  
  448. #define OBM_CLOSE           32754
  449. #define OBM_COMBO           32738
  450. #define OBM_DNARROW         32752
  451. #define OBM_DNARROWD        32742
  452. #define OBM_LFARROW         32750
  453. #define OBM_LFARROWD        32740
  454. #define OBM_MNARROW         32739
  455. #define OBM_REDUCE          32749
  456. #define OBM_REDUCED         32746
  457. #define OBM_RESTORE         32747
  458. #define OBM_RESTORED        32744
  459. #define OBM_RGARROW         32751
  460. #define OBM_RGARROWD        32741
  461. #define OBM_UPARROW         32753
  462. #define OBM_UPARROWD        32743
  463. #define OBM_ZOOM            32748
  464. #define OBM_ZOOMD           32745
  465. #define OBM_DNARROWI        32736
  466. #define OBM_LFARROWI        32734
  467. #define OBM_RGARROWI        32735
  468. #define OBM_UPARROWI        32737
  469.  
  470. #define OBM_BTNCORNERS      32758
  471. #define OBM_BTSIZE          32761
  472. #define OBM_CHECK           32760
  473. #define OBM_CHECKBOXES      32759
  474. #define OBM_OLD_CLOSE       32767
  475. #define OBM_OLD_DNARROW     32764
  476. #define OBM_OLD_LFARROW     32762
  477. #define OBM_OLD_REDUCE      32757
  478. #define OBM_OLD_RESTORE     32755
  479. #define OBM_OLD_RGARROW     32763
  480. #define OBM_OLD_UPARROW     32765
  481. #define OBM_OLD_ZOOM        32756
  482. #define OBM_SIZE            32766
  483.  
  484. ************************* LoadCursor() predefined Windows cursors *************
  485.  
  486. #define IDC_ARROW           32512
  487. #define IDC_CROSS           32515
  488. #define IDC_IBEAM           32513
  489. #define IDC_ICON            32641
  490. #define IDC_SIZE            32640
  491. #define IDC_SIZENESW        32643
  492. #define IDC_SIZENS          32645
  493. #define IDC_SIZENWSE        32642
  494. #define IDC_SIZEWE          32644
  495. #define IDC_UPARROW         32516
  496. #define IDC_WAIT            32514
  497.  
  498. ************************* LoadIcon() predefined Windows icons *****************
  499.  
  500. #define IDI_APPLICATION     32512
  501. #define IDI_ASTERISK        32516
  502. #define IDI_EXCLAMATION     32515
  503. #define IDI_HAND            32513
  504. #define IDI_QUESTION        32514
  505.  
  506. ************************ MessageBox() Dialog types ****************************
  507.  
  508. #define MB_ABORTRETRYIGNORE htoi("0002")    &&* Message box contains Abort,
  509.                                             &&  Retry, Ignore pushbuttons
  510. #define MB_APPLMODAL        htoi("0000")    &&* User must respond to the message
  511.                                             &&  box before continuing work in
  512.                                             &&  the parent window.
  513. #define MB_DEFBUTTON1       htoi("0000")    &&* The first button is the default
  514. #define MB_DEFBUTTON2       htoi("0100")    &&* The second button is the default
  515. #define MB_DEFBUTTON3       htoi("0200")    &&* The third button is the default
  516. #define MB_ICONASTERISK     htoi("0040")    &&* Same as MB_ICONINFORMATION
  517. #define MB_ICONEXCLAMATION  htoi("0030")    &&* Exclamation point icon appears
  518. #define MB_ICONHAND         htoi("0010")    &&* Same as MB_ICONSTOP
  519. #define MB_ICONINFORMATION  MB_ICONASTERISK &&* A lower case "I" icon apperas
  520. #define MB_ICONQUESTION     htoi("0020")    &&* A question mark icon appears
  521. #define MB_ICONSTOP         MB_ICONHAND     &&* A stop-sign icon appears
  522. #define MB_OK               htoi("0000")    &&* OK pushbutton
  523. #define MB_OKCANCEL         htoi("0001")    &&* OK and Cancel pushbuttons
  524. #define MB_RETRYCANCEL      htoi("0005")    &&* Retry and Cancel pushbuttons
  525. #define MB_SYSTEMMODAL      htoi("1000")    &&* All applications are suspended
  526.                                             &&  until the user responds to the
  527.                                             &&  message box
  528. #define MB_TASKMODAL        htoi("2000")    &&* Same as APPL_MODAL except that
  529.                                             &&  all the top-level windows
  530.                                             &&  belonging to the current task
  531.                                             &&  are disabled if the parent
  532.                                             &&  window is not specified
  533. #define MB_YESNO            htoi("0004")    &&* Yes and No pushbuttons
  534. #define MB_YESNOCANCEL      htoi("0003")    &&* Yes, No, Cancel pushbuttons
  535.  
  536.  
  537.  
  538. ******************* MessageBox() standard Dialog button IDs ******************
  539. #define IDOK                1
  540. #define IDCANCEL            2
  541. #define IDABORT             3
  542. #define IDRETRY             4
  543. #define IDIGNORE            5
  544. #define IDYES               6
  545. #define IDNO                7
  546.  
  547.  
  548. **************************** StretchBlt() modes *******************************
  549.  
  550. #define STRETCH_ANDSCANS        1
  551. #define STRETCH_ORSCANS         2
  552. #define STRETCH_DELETESCANS     3
  553.  
  554.  
  555.  
  556.  
  557. *********************** SetWindowPos() and WINDOWPOS flags ********************
  558.  
  559. #define SWP_NOSIZE          1
  560. #define SWP_NOMOVE          2
  561. #define SWP_NOZORDER        4
  562. #define SWP_NOREDRAW        8
  563. #define SWP_NOACTIVATE      htoi("0010")
  564. #define SWP_FRAMECHANGED    htoi("0020")
  565. #define SWP_SHOWWINDOW      htoi("0040")
  566. #define SWP_HIDEWINDOW      htoi("0080")
  567. #define SWP_NOCOPYBITS      htoi("0100")
  568. #define SWP_NOOWNERZORDER   htoi("0200")
  569.  
  570. #define SWP_DRAWFRAME       SWP_FRAMECHANGED
  571. #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
  572.  
  573. #define SWP_NOSENDCHANGING  htoi("0400")
  574. #define SWP_DEFERERASE      htoi("2000")
  575.  
  576.  
  577.  
  578. ******************** SetWindowPos() hwndInsertAfter field values ***************
  579.  
  580. #define HWND_TOP            0
  581. #define HWND_BOTTOM         1
  582. #define HWND_TOPMOST       -1
  583. #define HWND_NOTOPMOST     -2
  584.  
  585.  
  586. **************************** SetTextAlign() constants */ ***********************
  587.  
  588. #define TA_NOUPDATECP       0
  589. #define TA_UPDATECP         1
  590. #define TA_LEFT             0
  591. #define TA_RIGHT            2
  592. #define TA_CENTER           6
  593. #define TA_TOP              0
  594. #define TA_BOTTOM           8
  595. #define TA_BASELINE         htoi("0018")
  596.  
  597.  
  598.  
  599. ***************************** Clipboard Functions *****************************
  600.  
  601.  
  602. extern  CLOGICAL  ChangeClipboardChain ( CHANDLE,CHANDLE )  USER
  603. extern  CLOGICAL  CloseClipboard ( CVOID )  USER
  604. extern  CINT      CountClipboardFormats ( CVOID )  USER
  605. extern  CLOGICAL  EmptyClipboard ( CVOID )  USER
  606. extern  CINT      EnumClipboardFormats ( CINT )  USER
  607. extern  CHANDLE   GetClipboardData ( CINT )  USER
  608. extern  CINT      GetClipboardFormatName ( CINT,CSTRING,CINT )  USER
  609. extern  CHANDLE   GetClipboardOwner ( CVOID )  USER
  610. extern  CHANDLE   GetClipboardViewer ( CVOID )  USER
  611. extern  CHANDLE   GetOpenClipboardWindow ( CVOID )  USER
  612. extern  CINT      GetPriorityClipboardFormat ( CPTR,CINT )  USER
  613. extern  CLOGICAL  IsClipboardFormatAvailable ( CINT )  USER
  614. extern  CLOGICAL  OpenClipboard ( CHANDLE )  USER
  615. extern  CINT      RegisterClipboardFormat ( CSTRING )  USER
  616. extern  CHANDLE   SetClipboardData ( CINT,CHANDLE )  USER
  617. extern  CHANDLE   SetClipboardViewer ( CHANDLE )  USER
  618.  
  619.  
  620. **************** SetClipboardData() system defined clipboard formats **********
  621.  
  622. #define CF_BITMAP            2
  623. #define CF_DIB               8
  624. #define CF_DIF               5
  625. #define CF_DSPBITMAP        htoi("0082")
  626. #define CF_DSPMETAFILEPICT  htoi("0083")
  627. #define CF_DSPTEXT          htoi("0081")
  628. #define CF_METAFILEPICT      3
  629. #define CF_OEMTEXT           7
  630. #define CF_OWNERDISPLAY     htoi("0080")
  631. #define CF_PALETTE           9
  632. #define CF_PENDATA          10
  633. #define CF_RIFF             11
  634. #define CF_SYLK              4
  635. #define CF_TEXT              1
  636. #define CF_TIFF              6
  637. #define CF_WAVE             12
  638.  
  639. *** "Private" formats don't get GlobalFree()'d
  640. #define CF_PRIVATEFIRST     htoi("0200")
  641. #define CF_PRIVATELAST      htoi("02FF")
  642.  
  643. *** "GDIOBJ" formats do get DeleteObject()'d
  644. #define CF_GDIOBJFIRST      htoi("0300")
  645. #define CF_GDIOBJLAST       htoi("03FF")
  646.  
  647.  
  648.  
  649.  
  650. ************************** Miscellaneous Functions *****************************s
  651.  
  652. extern  CINT      AccessResource ( CHANDLE,CHANDLE )  KERNEL
  653. extern  CWORD     AddAtom ( CSTRING ) KERNEL
  654. extern  CINT      BuildCommDCB ( CPTR,CPTR ) USER
  655. extern  CINT      CloseComm ( CHANDLE ) USER
  656. extern  CVOID     CreateCaret ( CHANDLE,CHANDLE,CINT,CINT ) USER
  657.  
  658. extern  CWORD     DeleteAtom ( CWORD ) KERNEL
  659. extern  CVOID     DestroyCaret ( CVOID ) USER
  660. extern  CLOGICAL  ExitWindows ( CLONG,CINT )  USER
  661. extern  CLOGICAL  ExitWindowsExec ( CSTRING,CSTRING )  USER
  662. extern  CVOID     FatalAppExit ( CINT,CSTRING )  KERNEL
  663. extern  CWORD     FindAtom ( CSTRING ) KERNEL
  664. extern  CHANDLE   FindResource ( CHANDLE,CSTRING,CSTRING )  KERNEL
  665. extern  CVOID     FreeLibrary ( CHANDLE )  KERNEL
  666. extern  CLOGICAL  FreeModule( CHANDLE ) KERNEL
  667. extern  CLOGICAL  FreeResource ( CHANDLE )  KERNEL
  668. extern  CINT      GetCaretBlinkTime ( CVOID ) USER
  669. extern  CINT      GetClassName ( CHANDLE,CSTRING,CINT )  USER
  670. extern  CINT      GetCommState ( CINT,CPTR ) USER
  671. extern  CHANDLE   GetCurrentTask ( CVOID )  KERNEL
  672. extern  CLONG     GetCurrentTime ( CVOID )  USER
  673. extern  CINT      GetDeviceCAPS ( CHANDLE,CINT )  GDI
  674. extern  CINT      GetDriveType ( CINT ) KERNEL
  675. extern  CSTRING   GetDosEnvironment ( CVOID )  KERNEL
  676. extern  CINT      GetDoubleClickTime ( CVOID )  USER
  677. extern  CLONG     GetFreeSpace ( CINT )  KERNEL
  678. extern  CINT      GetFreeSystemResources ( CINT )  USER
  679. extern  CLOGICAL  GetInputState ( CLOGICAL ) USER
  680. extern  CINT      GetKbCodePage ( CVOID ) KEYBOARD
  681. extern  CINT      GetKeyState ( CINT ) USER
  682. extern  CVOID     GetKeyboardState ( CPTR ) USER
  683. extern  CINT      GetKeyboardType ( CINT ) KEYBOARD
  684. extern  CINT      GetModuleFileName ( CHANDLE,CSTRING,CINT ) KERNEL
  685. extern  CHANDLE   GetModuleHandle ( CSTRING ) KERNEL
  686. extern  CINT      GetModuleUsage ( CHANDLE) KERNEL
  687. extern  CINT      GetNumTaskS ( CVOID )  KERNEL
  688. extern  CINT      GetPrivateProfileInt ( CSTRING,CSTRING,CINT,CSTRING )  KERNEL
  689. extern  CINT      GetPrivateProfileString ( CSTRING,CSTRING,CSTRING,CSTRING,CINT,CSTRING )  KERNEL
  690. extern  CINT      GetProfileInt ( CSTRING,CSTRING,CINT )  KERNEL
  691. extern  CINT      GetProfileString ( CSTRING,CSTRING,CSTRING,CSTRING,CINT )  KERNEL
  692. extern  CINT      GetSystemDirectory ( CSTRING,CINT )  KERNEL
  693. extern  CINT      GetSystemMetrics ( CINT )  USER
  694. extern  CBYTE     GetTempDrive ( CWORD )  KERNEL
  695. extern  CLONG     GetTickCount ( CVOID )  USER
  696. extern  CLONG     GetTimerResolution ( CVOID )  USER
  697. extern  CLONG     GetVersion ( CVOID )  KERNEL
  698. extern  CINT      GetWindowsDirectory ( CSTRING,CINT )  KERNEL
  699. extern  CLONG     GetWinFlags ( CVOID )  KERNEL
  700. extern  CINT      GlobalAlloc ( CINT,CLONG ) KERNEL
  701. extern  CLONG     GlobalLock ( CHANDLE ) KERNEL
  702. extern  CINT      GlobalUnlock ( CHANDLE ) KERNEL
  703. extern  CVOID     HideCaret( CHANDLE ) USER
  704. extern  CVOID     hmemcpy ( CLONG,CPTR,CLONG ) KERNEL
  705. extern  CLOGICAL  IsTask ( CHANDLE )  KERNEL
  706. extern  CLOGICAL  IsWindow ( CHANDLE )  USER
  707. extern  CLOGICAL  IsWindowEnabled ( CHANDLE )  USER
  708. extern  CLOGICAL  IsWindowVisible ( CHANDLE )  USER
  709. extern  CLOGICAL  IsZoomed ( CHANDLE )  USER
  710. extern  CHANDLE   LoadLibrary ( CSTRING ) KERNEL
  711. extern  CHANDLE   LoadModule ( CSTRING,CPTR )  KERNEL
  712. extern  CHANDLE   LoadResource ( CHANDLE,CHANDLE )  KERNEL
  713. extern  CINT      LoadString ( CHANDLE,CINT,CSTRING,CINT ) USER
  714. extern  CHANDLE   OpenComm ( CSTRING,CINT,CINT ) USER
  715. extern  CLOGICAL  PostAppMessage ( CHANDLE,CINT,CWORD,CLONG )  USER
  716. extern  CLOGICAL  PeekMessage ( CPTR,CHANDLE,CINT,CINT,CINT )  USER
  717. extern  CINT      ReadComm ( CHANDLE,CPTR,CINT ) USER
  718. extern  CVOID     ReplyMessage ( CLONG )  USER
  719. extern  CVOID     SetDoubleClickTime ( CINT )  USER
  720. extern  CVOID     SetCaretBlinkTime ( CINT ) USER
  721. extern  CVOID     SetCaretPos ( CINT,CINT ) USER
  722. extern  CINT      SetCommState ( CPTR) USER
  723. extern  CLONG     SendMessage ( CHANDLE,CINT,CWORD,CLONG )  USER
  724. extern  CINT      SetHandleCount ( CINT )  KERNEL
  725. extern  CVOID     SetKeyboardState ( CPTR ) USER
  726. extern  CVOID     ShowCaret ( CHANDLE ) USER
  727. extern  CLONG     SizeOFResource ( CHANDLE,CHANDLE )  KERNEL
  728. extern  CWORD     SndPlaySound ( CPTR,CWORD ) MMSYSTEM
  729. extern  CLOGICAL  SwapMouseButton ( CLOGICAL )  USER
  730. extern  CLOGICAL  SystemParametersInfo ( CINT,CINT,CPTR,CINT )  USER
  731. extern  CINT      WinExec ( CSTRING,CINT )  KERNEL
  732. extern  CLOGICAL  WinHelp ( CHANDLE,CSTRING,CINT,CLONG )  USER
  733. extern  CINT      WriteComm ( CHANDLE,CPTR,CINT ) USER
  734. extern  CLOGICAL  WritePrivateProfileString ( CSTRING,CSTRING,CSTRING,CSTRING )  KERNEL
  735. extern  CLOGICAL  WriteProfileString ( CSTRING,CSTRING,CSTRING )  KERNEL
  736.  
  737.  
  738.  
  739. *** Constant Miscellaneous Function Parameters
  740. *******************************************************************************
  741.  
  742. **************************** ExitWindows() error codes ************************
  743.  
  744. #define EW_RESTARTWINDOWS   htoi("42")
  745. #define EW_REBOOTSYSTEM     htoi("43")
  746.  
  747.  
  748.  
  749. ************************** FindResource() resource types **********************
  750.  
  751. #define RT_ACCELERATOR      9
  752. #define RT_BITMAP           2
  753. #define RT_CURSOR           1
  754. #define RT_DIALOG           5
  755. #define RT_FONT             8
  756. #define RT_FONTDIR          7
  757. #define RT_GROUP_CURSOR     12
  758. #define RT_GROUP_ICON       14
  759. #define RT_ICON             3
  760. #define RT_MENU             4
  761. #define RT_RCDATA           10
  762. #define RT_STRING           6
  763.  
  764.  
  765.  
  766. *********************** GetDeviceCaps() device information options ************
  767.  
  768. #define ASPECTX       40
  769. #define ASPECTXY      44
  770. #define ASPECTY       42
  771. #define BITSPIXEL     12
  772. #define CLIPCAPS      36
  773. #define COLORRES     108
  774. #define CURVECAPS     28
  775. #define DRIVERVERSION 0
  776. #define HORZRES       8
  777. #define HORZSIZE      4
  778. #define LINECAPS      30
  779. #define LOGPIXELSX    88
  780. #define LOGPIXELSY    90
  781. #define NUMBRUSHES    16
  782. #define NUMCOLORS     24
  783. #define NUMFONTS      22
  784. #define NUMMARKERS    20
  785. #define NUMPENS       18
  786. #define NUMRESERVED  106
  787. #define PDEVICESIZE   26
  788. #define PLANES        14
  789. #define POLYGONALCAPS 32
  790. #define RASTERCAPS    38
  791. #define SIZEPALETTE  104
  792. #define TECHNOLOGY    2
  793. #define TEXTCAPS      34
  794. #define VERTRES       10
  795. #define VERTSIZE      6
  796.  
  797. ************************* GetFreeSystemResources() resource types ***************
  798.  
  799. #define GFSR_SYSTEMRESOURCES   0
  800. #define GFSR_GDIRESOURCES      1
  801. #define GFSR_USERRESOURCES     2
  802.  
  803. ***************************** GetKeyboardType types *****************************
  804.  
  805. #define GKT_TYPE               0       && Main kbd type
  806. #define GKT_SUBTYPE            1       && Mfgr. subtype
  807. #define GKT_NUMFUNCTION        2       && Number of FKeys
  808.  
  809. **************************** GetSystemMetrics() codes ***************************
  810.  
  811. #define SM_CXSCREEN          0
  812. #define SM_CYSCREEN          1
  813. #define SM_CXVSCROLL         2
  814. #define SM_CYHSCROLL         3
  815. #define SM_CYCAPTION         4
  816. #define SM_CXBORDER          5
  817. #define SM_CYBORDER          6
  818. #define SM_CXDLGFRAME        7
  819. #define SM_CYDLGFRAME        8
  820. #define SM_CYVTHUMB          9
  821. #define SM_CXHTHUMB          10
  822. #define SM_CXICON            11
  823. #define SM_CYICON            12
  824. #define SM_CXCURSOR          13
  825. #define SM_CYCURSOR          14
  826. #define SM_CYMENU            15
  827. #define SM_CXFULLSCREEN      16
  828. #define SM_CYFULLSCREEN      17
  829. #define SM_CYKANJIWINDOW     18
  830. #define SM_MOUSEPRESENT      19
  831. #define SM_CYVSCROLL         20
  832. #define SM_CXHSCROLL         21
  833. #define SM_DEBUG             22
  834. #define SM_SWAPBUTTON        23
  835. #define SM_RESERVED1         24
  836. #define SM_RESERVED2         25
  837. #define SM_RESERVED3         26
  838. #define SM_RESERVED4         27
  839. #define SM_CXMIN             28
  840. #define SM_CYMIN             29
  841. #define SM_CXSIZE            30
  842. #define SM_CYSIZE            31
  843. #define SM_CXFRAME           32
  844. #define SM_CYFRAME           33
  845. #define SM_CXMINTRACK        34
  846. #define SM_CYMINTRACK        35
  847.  
  848. #define SM_CXDOUBLECLK       36
  849. #define SM_CYDOUBLECLK       37
  850. #define SM_CXICONSPACING     38
  851. #define SM_CYICONSPACING     39
  852. #define SM_MENUDROPALIGNMENT 40
  853. #define SM_PENWINDOWS        41
  854. #define SM_DBCSENABLED       42
  855.  
  856. #define SM_CMETRICS          43
  857.  
  858.  
  859. ******************* GetWinFlags() system/memory configurations ****************
  860.  
  861. #define WF_887          htoi("0400")
  862. #define WF_CPU086       htoi("0040")
  863. #define WF_CPU186       htoi("0080")
  864. #define WF_CPU286       htoi("0002")
  865. #define WF_CPU386       htoi("0004")
  866. #define WF_CPU486       htoi("0008")
  867. #define WF_ENHANCED     htoi("0020")
  868. #define WF_LARGEFRAME   htoi("0100")
  869. #define WF_PAGING       htoi("0800")
  870. #define WF_PMODE        htoi("0001")
  871. #define WF_SMALLFRAME   htoi("0200")
  872. #define WF_STANDARD     htoi("0010")
  873. #define WF_WIN286       htoi("0010")
  874. #define WF_WIN386       htoi("0020")
  875. #define WF_WLO          htoi("8000")
  876.  
  877.  
  878.  
  879. ********************** ShellExecute() window display options ******************
  880.  
  881. #define SW_HIDE             0
  882. #define SW_MAXIMIZE         3
  883. #define SW_MINIMIZE         6
  884. #define SW_NORMAL           1
  885. #define SW_RESTORE          9
  886. #define SW_SHOW             5
  887. #define SW_SHOWMAXIMIZED    3
  888. #define SW_SHOWMINIMIZED    2
  889. #define SW_SHOWMINNOACTIVE  7
  890. #define SW_SHOWNA           8
  891. #define SW_SHOWNOACTIVATE   4
  892. #define SW_SHOWNORMAL       1
  893.  
  894. ***************** SystemParametersInfo() parameters to query/set **************
  895.  
  896. #define SPI_GETBEEP                 1
  897. #define SPI_GETBORDER               5
  898. #define SPI_GETFASTTASKSWITCH       35
  899. #define SPI_GETGRIDGRANULARITY      18
  900. #define SPI_GETICONTITLELOGFONT     31
  901. #define SPI_GETICONTITLEWRAP        25
  902. #define SPI_GETKEYBOARDDELAY        22
  903. #define SPI_GETKEYBOARDSPEED        10
  904. #define SPI_GETMENUDROPALIGNMENT    27
  905. #define SPI_GETMOUSE                3
  906. #define SPI_GETSCREENSAVEACTIVE     16
  907. #define SPI_GETSCREENSAVETIMEOUT    14
  908. #define SPI_ICONHORIZONTALSPACING   13
  909. #define SPI_ICONVERTICALSPACING     24
  910. #define SPI_LANGDRIVER              12
  911. #define SPI_SETBEEP                 2
  912. #define SPI_SETBORDER               6
  913. #define SPI_SETDESKPATTERN          21
  914. #define SPI_SETDESKWALLPAPER        20
  915. #define SPI_SETDOUBLECLICKTIME      32
  916. #define SPI_SETDOUBLECLKHEIGHT      30
  917. #define SPI_SETDOUBLECLKWIDTH       29
  918. #define SPI_SETFASTTASKSWITCH       36
  919. #define SPI_SETGRIDGRANULARITY      19
  920. #define SPI_SETICONTITLELOGFONT     34
  921. #define SPI_SETICONTITLEWRAP        26
  922. #define SPI_SETKEYBOARDDELAY        23
  923. #define SPI_SETKEYBOARDSPEED        11
  924. #define SPI_SETMENUDROPALIGNMENT    28
  925. #define SPI_SETMOUSE                4
  926. #define SPI_SETMOUSEBUTTONSWAP      33
  927. #define SPI_SETSCREENSAVEACTIVE     17
  928. #define SPI_SETSCREENSAVETIMEOUT    15
  929.  
  930. ********************** WinHelp() requested help types *************************
  931.  
  932. #define HELP_COMMAND      htoi("0102")
  933. #define HELP_CONTENTS     htoi("0003")
  934. #define HELP_CONTEXT      htoi("0001")
  935. #define HELP_CONTEXTPOPUP htoi("0008")
  936. #define HELP_FORCEFILE    htoi("0009")
  937. #define HELP_HELPONHELP   htoi("0004")
  938. #define HELP_INDEX        htoi("0003")
  939. #define HELP_KEY          htoi("0101")
  940. #define HELP_MULTIKEY     htoi("0201")
  941. #define HELP_PARTIALKEY   htoi("0105")
  942. #define HELP_QUIT         htoi("0002")
  943. #define HELP_SETCONTENTS  htoi("0005")
  944. #define HELP_SETINDEX     htoi("0005")
  945. #define HELP_SETWINPOS    htoi("0203")
  946.  
  947.  
  948. ******************* Windows Messages and related constants ********************
  949.  
  950. *** Button Messages
  951. #define BM_GETCHECK              (WM_USER + 0)
  952. #define BM_SETCHECK              (WM_USER + 1)
  953. #define BM_GETSTATE              (WM_USER + 2)
  954. #define BM_SETSTATE              (WM_USER + 3)
  955. #define BM_SETSTYLE              (WM_USER + 4)
  956.  
  957. * User Button Notification Codes
  958. #define BN_CLICKED               0
  959. #define BN_PAINT                 1
  960. #define BN_HILITE                2
  961. #define BN_UNHILITE              3
  962. #define BN_DISABLE               4
  963. #define BN_DOUBLECLICKED         5
  964.  
  965.  
  966. *** Combo Box Messages
  967. #define CB_GETEDITSEL            (WM_USER + 0)
  968. #define CB_LIMITTEXT             (WM_USER + 1)
  969. #define CB_SETEDITSEL            (WM_USER + 2)
  970. #define CB_ADDSTRING             (WM_USER + 3)
  971. #define CB_DELETESTRING          (WM_USER + 4)
  972. #define CB_DIR                   (WM_USER + 5)
  973. #define CB_GETCOUNT              (WM_USER + 6)
  974. #define CB_GETCURSEL             (WM_USER + 7)
  975. #define CB_GETLBTEXT             (WM_USER + 8)
  976. #define CB_GETLBTEXTLEN          (WM_USER + 9)
  977. #define CB_INSERTSTRING          (WM_USER + 10)
  978. #define CB_RESETCONTENT          (WM_USER + 11)
  979. #define CB_FINDSTRING            (WM_USER + 12)
  980. #define CB_SELECTSTRING          (WM_USER + 13)
  981. #define CB_SETCURSEL             (WM_USER + 14)
  982. #define CB_SHOWDROPDOWN          (WM_USER + 15)
  983. #define CB_GETITEMDATA           (WM_USER + 16)
  984. #define CB_SETITEMDATA           (WM_USER + 17)
  985.  
  986. * Combo Box messages below only apply if the Windows version is > 3.0
  987. #define CB_GETDROPPEDCONTROLRECT (WM_USER + 18)
  988. #define CB_SETITEMHEIGHT         (WM_USER + 19)
  989. #define CB_GETITEMHEIGHT         (WM_USER + 20)
  990. #define CB_SETEXTENDEDUI         (WM_USER + 21)
  991. #define CB_GETEXTENDEDUI         (WM_USER + 22)
  992. #define CB_GETDROPPEDSTATE       (WM_USER + 23)
  993. #define CB_FINDSTRINGEXACT       (WM_USER + 24)
  994.  
  995. * Combo Box message return values
  996. #define CB_OKAY                  0
  997. #define CB_ERR                  -1
  998. #define CB_ERRSPACE             -2
  999.  
  1000.  
  1001. *** Dialog Messages
  1002. #define DM_GETDEFID              (WM_USER + 0)
  1003. #define DM_SETDEFID              (WM_USER + 1)
  1004.  
  1005.  
  1006. *** Edit Control Messages
  1007. #define EM_GETSEL                (WM_USER + 0)
  1008. #define EM_SETSEL                (WM_USER + 1)
  1009. #define EM_GETRECT               (WM_USER + 2)
  1010. #define EM_SETRECT               (WM_USER + 3)
  1011. #define EM_SETRECTNP             (WM_USER + 4)
  1012. #define EM_LINESCROLL            (WM_USER + 6)
  1013. #define EM_GETMODIFY             (WM_USER + 8)
  1014. #define EM_SETMODIFY             (WM_USER + 9)
  1015. #define EM_GETLINECOUNT          (WM_USER + 10)
  1016. #define EM_LINEINDEX             (WM_USER + 11)
  1017. #define EM_SETHANDLE             (WM_USER + 12)
  1018. #define EM_GETHANDLE             (WM_USER + 13)
  1019. #define EM_LINELENGTH            (WM_USER + 17)
  1020. #define EM_REPLACESEL            (WM_USER + 18)
  1021. #define EM_SETFONT               (WM_USER + 19) && NOT IMPLEMENTED: use WM_SETFONT
  1022. #define EM_GETLINE               (WM_USER + 20)
  1023. #define EM_LIMITTEXT             (WM_USER + 21)
  1024. #define EM_CANUNDO               (WM_USER + 22)
  1025. #define EM_UNDO                  (WM_USER + 23)
  1026. #define EM_FMTLINES              (WM_USER + 24)
  1027. #define EM_LINEFROMCHAR          (WM_USER + 25)
  1028. #define EM_SETTABSTOPS           (WM_USER + 27)
  1029. #define EM_SETPASSWORDCHAR       (WM_USER + 28)
  1030. #define EM_EMPTYUNDOBUFFER       (WM_USER + 29)
  1031.  
  1032. * Edit control messages below only apply if the Windows version is > 3.0
  1033. #define EM_GETFIRSTVISIBLELINE   (WM_USER + 30)
  1034. #define EM_SETREADONLY           (WM_USER + 31)
  1035. #define EM_SETWORDBREAKPROC      (WM_USER + 32)
  1036. #define EM_GETWORDBREAKPROC      (WM_USER + 33)
  1037. #define EM_GETPASSWORDCHAR       (WM_USER + 34)
  1038.  
  1039. * Edit control notification codes
  1040.  
  1041. #define EN_SETFOCUS              htoi("0100")
  1042. #define EN_KILLFOCUS             htoi("0200")
  1043. #define EN_CHANGE                htoi("0300")
  1044. #define EN_UPDATE                htoi("0400")
  1045. #define EN_ERRSPACE              htoi("0500")
  1046. #define EN_MAXTEXT               htoi("0501")
  1047. #define EN_HSCROLL               htoi("0601")
  1048. #define EN_VSCROLL               htoi("0602")
  1049.  
  1050.  
  1051. *** List Box Messages
  1052. #define LB_ADDSTRING             (WM_USER + 1)
  1053. #define LB_INSERTSTRING          (WM_USER + 2)
  1054. #define LB_DELETESTRING          (WM_USER + 3)
  1055. #define LB_RESETCONTENT          (WM_USER + 5)
  1056. #define LB_SETSEL                (WM_USER + 6)
  1057. #define LB_SETCURSEL             (WM_USER + 7)
  1058. #define LB_GETSEL                (WM_USER + 8)
  1059. #define LB_GETCURSEL             (WM_USER + 9)
  1060. #define LB_GETTEXT               (WM_USER + 10)
  1061. #define LB_GETTEXTLEN            (WM_USER + 11)
  1062. #define LB_GETCOUNT              (WM_USER + 12)
  1063. #define LB_SELECTSTRING          (WM_USER + 13)
  1064. #define LB_DIR                   (WM_USER + 14)
  1065. #define LB_GETTOPINDEX           (WM_USER + 15)
  1066. #define LB_FINDSTRING            (WM_USER + 16)
  1067. #define LB_GETSELCOUNT           (WM_USER + 17)
  1068. #define LB_GETSELITEMS           (WM_USER + 18)
  1069. #define LB_SETTABSTOPS           (WM_USER + 19)
  1070. #define LB_GETHORIZONTALEXTENT   (WM_USER + 20)
  1071. #define LB_SETHORIZONTALEXTENT   (WM_USER + 21)
  1072. #define LB_SETCOLUMNWIDTH        (WM_USER + 22)
  1073. #define LB_SETTOPINDEX           (WM_USER + 24)
  1074. #define LB_GETITEMRECT           (WM_USER + 25)
  1075. #define LB_GETITEMDATA           (WM_USER + 26)
  1076. #define LB_SETITEMDATA           (WM_USER + 27)
  1077. #define LB_SELITEMRANGE          (WM_USER + 28)
  1078. #define LB_SETCARETINDEX         (WM_USER + 31)
  1079. #define LB_GETCARETINDEX         (WM_USER + 32)
  1080.  
  1081. * List Box messages below only apply if the Windows version is > 3.0
  1082. #define LB_SETITEMHEIGHT         (WM_USER + 33)
  1083. #define LB_GETITEMHEIGHT         (WM_USER + 34)
  1084. #define LB_FINDSTRINGEXACT       (WM_USER + 35)
  1085.  
  1086. * List Box message return values
  1087. #define LB_OKAY                  0
  1088. #define LB_ERR                  -1
  1089. #define LB_ERRSPACE             -2
  1090.  
  1091. #define LB_CTLCODE               0
  1092.  
  1093. * List Box notification messages
  1094. #define WM_VKEYTOITEM            htoi("002E")
  1095. #define WM_CHARTOITEM            htoi("002F")
  1096.  
  1097.  
  1098. *** Static Control Mesages
  1099. #define STM_SETICON              (WM_USER + 0)
  1100. #define STM_GETICON              (WM_USER + 1)
  1101.  
  1102.  
  1103. *** System Messages
  1104. * Low system memory notification message
  1105. #define WM_COMPACTING            htoi("0041")
  1106.  
  1107. * Win.ini message
  1108. #define WM_WININICHANGE          htoi("001A")
  1109.  
  1110. * Color support
  1111. #define WM_SYSCOLORCHANGE        htoi("0015")
  1112.  
  1113.  
  1114. * Palette window messages
  1115. #define WM_QUERYNEWPALETTE       htoi("030F")
  1116. #define WM_PALETTEISCHANGING     htoi("0310")
  1117. #define WM_PALETTECHANGED        htoi("0311")
  1118.  
  1119. * Fonts support
  1120. #define WM_FONTCHANGE            htoi("001D")
  1121.  
  1122. * Spooler status notification message
  1123. #define WM_SPOOLERSTATUS         htoi("002A")
  1124.  
  1125. * Device mode settings change message
  1126. #define WM_DEVMODECHANGE         htoi("001B")
  1127.  
  1128. * System Time change message
  1129. #define WM_TIMECHANGE            htoi("001E")
  1130.  
  1131.  
  1132. *** Window Mesages
  1133. #define WM_NULL                  0
  1134. #define WM_USER                  htoi("0400")
  1135.  
  1136. #define WM_PENWINFIRST           htoi("0380")
  1137. #define WM_PENWINLAST            htoi("038F")
  1138. #define WM_COALESCE_FIRST        htoi("0390")
  1139. #define WM_COALESCE_LAST         htoi("039F")
  1140. #define WM_POWER                 htoi("0048")
  1141. #define WM_QUERYENDSESSION       htoi("0011")
  1142. #define WM_ENDSESSION            htoi("0016")
  1143. #define WM_QUIT                  htoi("0012")
  1144. #define WM_SYSTEMERROR           htoi("0017")
  1145. #define WM_CREATE                htoi("0001")
  1146. #define WM_NCCREATE              htoi("0081")
  1147. #define WM_DESTROY               htoi("0002")
  1148. #define WM_NCDESTROY             htoi("0082")
  1149. #define WM_SHOWWINDOW            htoi("0018")
  1150. #define WM_SETREDRAW             htoi("000B")
  1151. #define WM_ENABLE                htoi("000A")
  1152. #define WM_SETTEXT               htoi("000C")
  1153. #define WM_GETTEXT               htoi("000D")
  1154. #define WM_GETTEXTLENGTH         htoi("000E")
  1155. #define WM_WINDOWPOSCHANGING     htoi("0046")
  1156. #define WM_WINDOWPOSCHANGED      htoi("0047")
  1157. #define WM_MOVE                  htoi("0003")
  1158. #define WM_SIZE                  htoi("0005")
  1159. #define WM_QUERYOPEN             htoi("0013")
  1160. #define WM_CLOSE                 htoi("0010")
  1161. #define WM_GETMINMAXINFO         htoi("0024")
  1162. #define WM_PAINT                 htoi("000F")
  1163. #define WM_ERASEBKGND            htoi("0014")
  1164. #define WM_ICONERASEBKGND        htoi("0027")
  1165. #define WM_NCPAINT               htoi("0085")
  1166. #define WM_NCCALCSIZE            htoi("0083")
  1167. #define WM_NCHITTEST             htoi("0084")
  1168. #define WM_QUERYDRAGICON         htoi("0037")
  1169. #define WM_DROPFILES             htoi("0233")
  1170. #define WM_ACTIVATE              htoi("0006")
  1171. #define WM_ACTIVATEAPP           htoi("001C")
  1172. #define WM_NCACTIVATE            htoi("0086")
  1173. #define WM_SETFOCUS              htoi("0007")
  1174. #define WM_KILLFOCUS             htoi("0008")
  1175. #define WM_KEYDOWN               htoi("0100")
  1176. #define WM_KEYUP                 htoi("0101")
  1177. #define WM_CHAR                  htoi("0102")
  1178. #define WM_DEADCHAR              htoi("0103")
  1179. #define WM_SYSKEYDOWN            htoi("0104")
  1180. #define WM_SYSKEYUP              htoi("0105")
  1181. #define WM_SYSCHAR               htoi("0106")
  1182. #define WM_SYSDEADCHAR           htoi("0107")
  1183. #define WM_KEYFIRST              htoi("0100")
  1184. #define WM_KEYLAST               htoi("0108")
  1185. #define WM_MOUSEMOVE             htoi("0200")
  1186. #define WM_LBUTTONDOWN           htoi("0201")
  1187. #define WM_LBUTTONUP             htoi("0202")
  1188. #define WM_LBUTTONDBLCLK         htoi("0203")
  1189. #define WM_RBUTTONDOWN           htoi("0204")
  1190. #define WM_RBUTTONUP             htoi("0205")
  1191. #define WM_RBUTTONDBLCLK         htoi("0206")
  1192. #define WM_MBUTTONDOWN           htoi("0207")
  1193. #define WM_MBUTTONUP             htoi("0208")
  1194. #define WM_MBUTTONDBLCLK         htoi("0209")
  1195. #define WM_MOUSEFIRST            htoi("0200")
  1196. #define WM_MOUSELAST             htoi("0209")
  1197. #define WM_NCMOUSEMOVE           htoi("00A0")
  1198. #define WM_NCLBUTTONDOWN         htoi("00A1")
  1199. #define WM_NCLBUTTONUP           htoi("00A2")
  1200. #define WM_NCLBUTTONDBLCLK       htoi("00A3")
  1201. #define WM_NCRBUTTONDOWN         htoi("00A4")
  1202. #define WM_NCRBUTTONUP           htoi("00A5")
  1203. #define WM_NCRBUTTONDBLCLK       htoi("00A6")
  1204. #define WM_NCMBUTTONDOWN         htoi("00A7")
  1205. #define WM_NCMBUTTONUP           htoi("00A8")
  1206. #define WM_NCMBUTTONDBLCLK       htoi("00A9")
  1207. #define WM_MOUSEACTIVATE         htoi("0021")
  1208. #define WM_CANCELMODE            htoi("001F")
  1209. #define WM_TIMER                 htoi("0113")
  1210. #define WM_INITMENU              htoi("0116")
  1211. #define WM_INITMENUPOPUP         htoi("0117")
  1212. #define WM_MENUSELECT            htoi("011F")
  1213. #define WM_MENUCHAR              htoi("0120")
  1214. #define WM_COMMAND               htoi("0111")
  1215. #define WM_HSCROLL               htoi("0114")
  1216. #define WM_VSCROLL               htoi("0115")
  1217. #define WM_CUT                   htoi("0300")
  1218. #define WM_COPY                  htoi("0301")
  1219. #define WM_PASTE                 htoi("0302")
  1220. #define WM_CLEAR                 htoi("0303")
  1221. #define WM_UNDO                  htoi("0304")
  1222. #define WM_RENDERFORMAT          htoi("0305")
  1223. #define WM_RENDERALLFORMATS      htoi("0306")
  1224. #define WM_DESTROYCLIPBOARD      htoi("0307")
  1225. #define WM_DRAWCLIPBOARD         htoi("0308")
  1226. #define WM_PAINTCLIPBOARD        htoi("0309")
  1227. #define WM_SIZECLIPBOARD         htoi("030B")
  1228. #define WM_VSCROLLCLIPBOARD      htoi("030A")
  1229. #define WM_HSCROLLCLIPBOARD      htoi("030E")
  1230. #define WM_ASKCBFORMATNAME       htoi("030C")
  1231. #define WM_CHANGECBCHAIN         htoi("030D")
  1232. #define WM_SETCURSOR             htoi("0020")
  1233. #define WM_SYSCOMMAND            htoi("0112")
  1234. #define WM_MDICREATE             htoi("0220")
  1235. #define WM_MDIDESTROY            htoi("0221")
  1236. #define WM_MDIACTIVATE           htoi("0222")
  1237. #define WM_MDIRESTORE            htoi("0223")
  1238. #define WM_MDINEXT               htoi("0224")
  1239. #define WM_MDIMAXIMIZE           htoi("0225")
  1240. #define WM_MDITILE               htoi("0226")
  1241. #define WM_MDICASCADE            htoi("0227")
  1242. #define WM_MDIICONARRANGE        htoi("0228")
  1243. #define WM_MDIGETACTIVE          htoi("0229")
  1244. #define WM_MDISETMENU            htoi("0230")
  1245. #define WM_CHILDACTIVATE         htoi("0022")
  1246. #define WM_INITDIALOG            htoi("0110")
  1247. #define WM_NEXTDLGCTL            htoi("0028")
  1248. #define WM_PARENTNOTIFY          htoi("0210")
  1249. #define WM_ENTERIDLE             htoi("0121")
  1250. #define WM_GETDLGCODE            htoi("0087")
  1251. #define WM_CTLCOLOR              htoi("0019")
  1252. #define WM_SETFONT               htoi("0030")
  1253. #define WM_GETFONT               htoi("0031")
  1254. #define WM_DRAWITEM              htoi("002B")
  1255. #define WM_MEASUREITEM           htoi("002C")
  1256. #define WM_DELETEITEM            htoi("002D")
  1257. #define WM_COMPAREITEM           htoi("0039")
  1258. #define WM_QUEUESYNC             htoi("0023")
  1259. #define WM_COMMNOTIFY            htoi("0044")
  1260.  
  1261.  
  1262. ****************************** End of Winapi.h ******************************
  1263.  
  1264. #endif
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.